GdPicture.NET.14.API
GdPicture14 Namespace / GdPicturePDF Class / SetLineDash Method / SetLineDash(Single[]) Method
Specifies the length of the custom dashes and gaps, expressed in the current units defined in the PDF document. The first element defined the length of a first dash, the second element defines the length of a first gap, the third element defines the length of a next dash, and so forth. Initial value is a solid line.

Zero DashPattern parameter can be used to restore the dash pattern to a solid line in the same way like using the GdPicturePDF.SetLineNoDash method.

Example





In This Topic
SetLineDash(Single[]) Method
In This Topic
Sets the dash pattern to be used when paths are stroked, for example, when you use the GdPicturePDF.DrawLine method or the GdPicturePDF.DrawRectangle method. The line dash pattern controls the pattern of dashes and gaps used to stroke paths. You are allowed to define dashes and gaps with the various length using this method. All specified values need to be expressed in the current units defined in the PDF document. The initial value is set to be a solid line. You can reset the dash pattern to its initial value simply by using the GdPicturePDF.SetLineNoDash method.

The dash pattern parameter is one of the graphics state parameters. These parameters are initialized to their default values at the beginning of each page (see PDF Reference, Section "Graphics State").

You can use the GdPicturePDF.GetMeasurementUnit method to determine the currently defined units and you can use the GdPicturePDF.SetMeasurementUnit method to reset the units according to your preference.

Syntax
'Declaration
 
Public Overloads Function SetLineDash( _
   ByVal DashPattern() As Single _
) As GdPictureStatus
public GdPictureStatus SetLineDash( 
   float[] DashPattern
)
public function SetLineDash( 
    DashPattern: Singlearray of
): GdPictureStatus; 
public function SetLineDash( 
   DashPattern : float[]
) : GdPictureStatus;
public: GdPictureStatus SetLineDash( 
   float[]* DashPattern
) 
public:
GdPictureStatus SetLineDash( 
   array<float>^ DashPattern
) 

Parameters

DashPattern
Specifies the length of the custom dashes and gaps, expressed in the current units defined in the PDF document. The first element defined the length of a first dash, the second element defines the length of a first gap, the third element defines the length of a next dash, and so forth. Initial value is a solid line.

Zero DashPattern parameter can be used to restore the dash pattern to a solid line in the same way like using the GdPicturePDF.SetLineNoDash method.

Return Value

A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK.

We strongly recommend always checking this status first.

Remarks
This method is only allowed for use with non-encrypted documents.

Be aware also that graphics state parameters are initialized to their default values at the beginning of each page.

Example
How to define different dashed lines to draw various rectangles.
Dim caption As String = "Example: SetLineDash"
Dim gdpicturePDF As New GdPicturePDF()
Dim status As GdPictureStatus = gdpicturePDF.NewPDF()
If status = GdPictureStatus.OK Then
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitMillimeter)
    If (gdpicturePDF.NewPage(210, 297) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.ResetGraphicsState() = GdPictureStatus.OK) AndAlso 'The default graphics state is set.
       (gdpicturePDF.SetLineWidth(1) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineColor(Color.Blue) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetFillColor(Color.Cyan) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.DrawRectangle(10, 10, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineWidth(5) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.DrawRectangle(80, 10, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineWidth(2) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineDash(5, 3) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.DrawRectangle(150, 10, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineNoDash() = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineColor(Color.Red) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineWidth(0) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.DrawRectangle(10, 50, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineWidth(3) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.DrawRectangle(80, 50, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineWidth(1) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.SetLineDash(New Single() {2, 1, 1, 1}) = GdPictureStatus.OK) AndAlso
       (gdpicturePDF.DrawRectangle(150, 50, 40, 20, True, True) = GdPictureStatus.OK) Then
        status = gdpicturePDF.SaveToFile("test_Lines.pdf")
        If status = GdPictureStatus.OK Then
            MessageBox.Show("The example has been followed successfully and the file has been saved.", caption)
        Else
            MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + status.ToString(), caption)
        End If
    Else
        MessageBox.Show("The example has not been followed successfully." + vbCrLf + "The last known status is " + gdpicturePDF.GetStat().ToString(), caption)
    End If
Else
    MessageBox.Show("The NewPDF() method has failed with the status: " + status.ToString(), caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: SetLineDash";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
GdPictureStatus status = gdpicturePDF.NewPDF();
if (status == GdPictureStatus.OK)
{
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitMillimeter);
    if ((gdpicturePDF.NewPage(210, 297) == GdPictureStatus.OK) &&
        (gdpicturePDF.ResetGraphicsState() == GdPictureStatus.OK) && //The default graphics state is set.
        (gdpicturePDF.SetLineWidth(1) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineColor(Color.Blue) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetFillColor(Color.Cyan) == GdPictureStatus.OK) &&
        (gdpicturePDF.DrawRectangle(10, 10, 40, 20, true, true) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineWidth(5) == GdPictureStatus.OK) &&
        (gdpicturePDF.DrawRectangle(80, 10, 40, 20, true, true) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineWidth(2) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineDash(5, 3) == GdPictureStatus.OK) &&
        (gdpicturePDF.DrawRectangle(150, 10, 40, 20, true, true) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineNoDash() == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineColor(Color.Red) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineWidth(0) == GdPictureStatus.OK) &&
        (gdpicturePDF.DrawRectangle(10, 50, 40, 20, true, true) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineWidth(3) == GdPictureStatus.OK) &&
        (gdpicturePDF.DrawRectangle(80, 50, 40, 20, true, true) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineWidth(1) == GdPictureStatus.OK) &&
        (gdpicturePDF.SetLineDash(new float[] {2, 1, 1, 1}) == GdPictureStatus.OK) &&
        (gdpicturePDF.DrawRectangle(150, 50, 40, 20, true, true) == GdPictureStatus.OK))
    {
        status = gdpicturePDF.SaveToFile("test_Lines.pdf");
        if (status == GdPictureStatus.OK)
            MessageBox.Show("The example has been followed successfully and the file has been saved.", caption);
        else
            MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + status.ToString(), caption);
    }
    else
        MessageBox.Show("The example has not been followed successfully.\nThe last known status is " + gdpicturePDF.GetStat().ToString(), caption);
}
else
    MessageBox.Show("The NewPDF() method has failed with the status: " + status.ToString(), caption);
gdpicturePDF.Dispose();
See Also